import { defineStore } from 'pinia'

export const useDictStore = defineStore('dictStore', {
  state: () => ({
    dict: [], // 注意这里不需要使用 new Array()，直接使用空数组即可
  }),
  actions: {
    setDict(key, value) {
      if (key !== null && key !== '') {
        this.dict.push({
          key,
          value,
        })
      }
    },
    removeDict(key) {
      try {
        for (let i = 0; i < this.dict.length; i++) {
          if (this.dict[i].key === key) {
            this.dict.splice(i, 1) // 注意这里的删除逻辑，使用 1 而不是 i
            return true
          }
        }
      } catch (e) {
        // 处理异常
      }
    },
    cleanDict() {
      this.dict = [] // 直接赋值为空数组即可
    },
  },
  // 进行持久化存储
  persist: {
    // 本地存储的名称
    key: 'dictStore',
    //保存的位置
    storage: window.localStorage, //localstorage
  },
})
